package com.hopu.haogoumall.core.config;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;

/**
 * @Package: com.hopu.haogoumall.core.config
 * @ClassName: OssConfig
 * @Author: xiaoBao
 * @CreateTime: 2020-12-02 17:29
 * @Description: 【OSS对象存储配置类】 包含连接OSS对象存储的相关数据，将OSS对象的生命周期交给Spring容器管理；
 */
@Configuration /**@Configuration注解：告诉Spring这是一个配置类*/
public class OssConfig {
    /**@Value注解：使用EL表达配置属性的层级关系（可在SpringBoot全局配置文件配置属性的值）*/
    /**
     * Bucket 地域节点
     */
    @Value("${aliyun.oss.endpoint}")
    private String endpoint;

    /**
     * 阿里云主账号 拥有所有API的访问权限，它是唯一的并且保密
     */
    @Value("${aliyun.oss.accessKeyId}")
    private String accessKeyId;

    /**
     * accessKey的秘钥
     */
    @Value("${aliyun.oss.accessKeySecret}")
    private String accessKeySecret;

    @Bean /**@Bean注解：在配置类中把方法的返回对象作为bean交给Spring容器管理*/
    public OSS getOSSClient(){
        return new OSSClientBuilder().build(endpoint,accessKeyId,accessKeySecret);
    }
}
